///*****************************************************************************
// *   me32g030_rtc.c:  Source file for me32g030 RTC 
// *   ver 1.0
//******************************************************************************/
//#include "me32g030.h"
//#include "me32g030_rtc.h"
//RTC_Calendar_TypeDef RTC_org_cal;
//uint32_t RTC_org_tc;
//uint8_t manthday[12]={31,28,31,30,31,30,31,31,30,31,30,31};
//void RTC_Init(uint32_t initialval)
//{
//	SYSCON->PDRUNCFG_b .OSC32_PD = 0;
//	SYSCON->SYSAHBCLKCTRL_b .RTC_CLK = 1;
//	
//	RTC->CTRL = 3;	
//	RTC->TC =initialval;	
//	return;
//}
//void RTC_SetAlarm(uint32_t secs_after)
//{
//	RTC->MR = RTC->TC+(secs_after<<1);
//	NVIC_EnableIRQ(RTC_IRQn);	
//	return;
//}
//void RTC_SetCalendar(uint32_t tc, RTC_Calendar_TypeDef cal)
//{
//	RTC_org_cal.year  = cal.year ;
//	RTC_org_cal.month  = cal.month ;
//	RTC_org_cal.day  = cal.day ;
//	RTC_org_cal.hour  = cal.hour ;
//	RTC_org_cal.min  = cal.min ;
//	RTC_org_cal.sec  = cal.sec ;
//	RTC_org_tc=tc;
//	RTC->TC =tc;
//	return;
//}
//void RTC_GetCalendar(uint32_t tc, RTC_Calendar_TypeDef cal)
//{
//	uint8_t i;
//	uint32_t difftc,mins,hours,days,years;
//	cal.tc=tc;
//	difftc=(tc-RTC_org_tc)>>1+RTC_org_cal.sec+RTC_org_cal.min*60+RTC_org_cal.hour*3600; //get seconds
//	mins=difftc/60;
//	cal.sec=difftc-mins*60;
//	hours=mins/60;
//	cal.min=mins-hours*60;
//	days=hours/24;
//	cal.hour=hours-days*24;
//	for (i=1;i<RTC_org_cal.month;i++)
//	{
//		days=days+manthday[i-1];
//	}
//	days=days+RTC_org_cal.day;
//	//leap year
//	if (((RTC_org_cal.year&0xFFFC)==RTC_org_cal.year)&&(RTC_org_cal.month>2))
//		days--;
//	cal.year =RTC_org_cal.year;
//	while(1)
//	{
//		if ((cal.year &0xFFFC)==cal.year)
//		{
//			//leap year
//			if (days>364)
//			{
//				cal.year++;
//				days-=364;
//			}else
//				break;
//			
//		}else
//		{
//			if (days>365)
//			{
//				cal.year++;
//				days-=365;
//			}else
//				break;
//		}
//	}
//	cal.month =1;
//	if ((cal.year &0xFFFC)==cal.year)
//		manthday[1]=27;//leap year
//	while(1)
//	{
//		if (days>manthday[cal.month-1])
//		{
//			cal.month++;
//			days-=manthday[cal.month-1];
//		}
//		else
//			break;
//	}
//	cal.day =days;
//	return;	
//}

